iT邦幫忙

2024 iThome 鐵人賽

DAY 3
0
AI/ ML & Data

從零開始學 MLOps,一起建立一個自動化機器學習系統吧!系列 第 3

[Day 3] 建構 ML 系統的挑戰—多個目標

  • 分享至 

  • xImage
  •  

摘要

  在建構 ML 系統時,定義目標是整個專案的核心,不過問題往往相當複雜。為了將目標有效地融入系統的設計中,今天我們將介紹常見的五大類方法,包含調整損失函數、調整決策閾值、樣本重新採樣、自訂評估指標、自訂模型結構。

多個目標

  我們在昨天討論到整個 MLOps 的核心是定義問題,也提到在定義問題時,需求面可能包含不只一方的要求,也就是說,不同方對於「成功的模型」存在不統一的期待。我們也需要考慮資料面的問題,畢竟如果沒有良好的資料,就不用考慮進一步實作的問題了。關鍵特徵是怎麼分布的呢?我們是否需要處理資料集不平衡的問題?
  我們需要以 ML 的角度嘗試解讀所有的需求,然後將確立的目標轉換到模型中,常見的做法包含:

調整損失函數 (Loss Function)

調整決策閾值 (Decision Threshold)

  • 方法一:做一系列的實驗,以得到不同決策數據對某些指標(例如精確度、準確度、召回率等)的影響。在得到實驗數據之後,我們可以採用有助於得到目標的演算法取得最佳決策閾值。 -> 將決策閾值作為超參數
  • 方法二:採用合適的演算法,使模型取得符合要求的決策閾值。 -> 決策閾值會在訓練中自動調整

樣本重新採樣 (Resampling)

  • 過採樣(Oversampling):增加樣本量較少的類別的樣本數量。
    • 複製樣本量較少的類別的樣本
    • SMOTE (Synthetic Minority Over-sampling Technique):合成少數樣本
  • 欠採樣(Undersampling):減少多數類別的樣本數量,以平衡數據集中的類別分佈。詳細原理可以參考這篇文章

自訂評估指標 (Custom Evaluation Metrics)

  根據預測目標的具體需求,尋找最適合或乾脆自己定義評估指標。舉例來說,如果我們的目標是偵測一個群體是否罹患某致死機率極高的疾病,我們的目標就是竭盡全力降低偽陰性的數量,也因此我們的重點評估指標應該會是召回率,而非精確度。
  常見的指標意義可以進一步參考這篇文章

自訂模型結構 (Custom Evaluation Metrics)

  • 注意力機制 (Attention Mechanism):用於讓模型專注於某部分特徵,常用於自然語言處理 (NLP)。
  • 集成學習 (Ensemble Learning):類似於分治法(Divide and Conquer)的概念,但重點不在於每個模型應達成不同的目標,而是在於透過結合多個不同模型的預測結果來提升整體的準確性和穩定性。這些模型不需要是完美的,但透過集成,它們的綜合表現通常會優於單一模型。

延伸閱讀:不平衡的資料集

  以上介紹的部分方法常用來處理資料不平衡的問題,下面推薦的這篇論文就介紹了前述提到的部分方法可以如何用來處理不平衡的資料集。
  論文:A Systematic Review on Imbalanced Learning Methods in Intelligent Fault Diagnosis
  這是一篇 Review 類型的論文。它設定的情境是當我們在做異常檢測的時候,通常大多數的資料都會是正常的,可以想像,在工廠裡,機器故障的時間不會和正常運作的時間一樣多,這就是為什麼我們取得的資料集會有嚴重不平衡的問題。
  在它框定的情境下,它分類並介紹了常見的解決方法,如果有進一步研究的需求,可以透過這篇論文快速檢索符合需求的其他論文。

參考資料


上一篇
[Day 2] MLOps 是什麼?
下一篇
[Day 4] 建構 ML 系統的挑戰 — 資料品質
系列文
從零開始學 MLOps,一起建立一個自動化機器學習系統吧!12
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言